package com.fau.cm.service;

import java.util.List;
import java.util.Map;

import com.fau.cm.entity.MedicalAdmin;
import com.fau.cm.entity.MedicalKeyValue;
import com.fau.cm.util.Page;

/**
 * @desc  字典接口
 * @author yangzj
 * @datetime 2014年9月29日,下午8:28:05
 */
public interface IDictionaryManagerService {

	/**
	 * @desc 分页查询字典表
	 * @param keyValue
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年9月24日,下午4:51:39
	 */
	public Page findDictionaryByPage(MedicalAdmin admin, MedicalKeyValue keyVal, Map<String, Object> map);
	
	/**
	 * @desc 保存字典表信息
	 * @param keyValue
	 * @author yangzj
	 * @datetime 2014年9月24日,下午4:51:30
	 */
	public boolean saveDictionary(MedicalAdmin admin, MedicalKeyValue keyVal);
	
	/**
	 * @desc 删除字典表
	 * @param keyValue
	 * @author yangzj
	 * @datetime 2014年9月24日,下午5:14:07
	 */
	public void deleteDictionary(MedicalKeyValue keyVal);
	
	/**
	 * @desc 验证字典表，表键
	 * @param KeyName
	 * @param hospitalId 医院ID
	 * @return boolean 
	 * @author yangzj
	 * @datetime 2014年9月24日,下午8:15:42
	 */
	public boolean verKeyName(MedicalAdmin admin, String KeyName);
	
	/**
	 * @desc 修改保存
	 * @author yangzj
	 * @datetime 2014年9月25日,上午9:10:38
	 */
	public void editSave(MedicalKeyValue keyVal);
	
	/**
	 * @desc 查询字典表数据字段
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月22日,上午11:35:21
	 */
	public List<MedicalKeyValue> findKeyTypeList();
	
	/**
	 * @desc 通过类型查询话务系统字典表数据
	 * @param admin 当前用户
	 * @param sysType 系统类型
	 * @param keyType 字典表类型
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月22日,下午8:33:09
	 */
	public List<MedicalKeyValue> findCmKeyValList(MedicalAdmin admin, String sysType, String keyType);
	
	/**
	 * @desc 通过类型查询订单系统字典表数据
	 * @param admin 当前用户
	 * @param sysType 系统类型
	 * @param keyType 字典表类型
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月22日,下午8:33:09
	 */
	public List<MedicalKeyValue> findOmKeyValList(MedicalAdmin admin, String sysType, String keyType);
	
	/**
	 * @desc 通过类型查询仓储系统字典表数据
	 * @param admin 当前用户
	 * @param sysType 系统类型
	 * @param keyType 字典表类型
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月22日,下午8:33:09
	 */
	public List<MedicalKeyValue> findWmKeyValList(MedicalAdmin admin, String sysType, String keyType);
	
	/**
	 * @desc 读取电话设置的值
	 * @return
	 * @author kangyj
	 * @datetime 2014年12月23日,下午9:51:01
	 */
	public String getTaskSaveVal(MedicalAdmin admin);
	
	/**
	 * @desc 修改电话保存设置
	 * @param admin
	 * @param taskSaveVal
	 * @author kangyj
	 * @datetime 2014年12月23日,下午10:07:58
	 */
	public void editTaskSaveVal(MedicalAdmin admin, String taskSaveVal);
	
	/**
	 * @desc 同步软交换数据
	 * @param type
	 * @author kangyj
	 * @datetime 2015年1月9日,上午11:55:36
	 */
	public void syncData(String type);
	
	/**
	 * @desc 设置服务器ip
	 * @param keyVal
	 * @author kangyj
	 * @datetime 2015年3月7日,上午11:02:27
	 */
	public void setServerIp(MedicalKeyValue keyVal);
	
	/**
	 * @desc 获取软交换服务器ip及端口
	 * @param eid
	 * @return
	 * @author kangyj
	 * @datetime 2015年3月7日,上午11:27:45
	 */
	public MedicalKeyValue getServerIp(String eid);
	
}
